package co.yixiang.modules.activity.vo;


import co.yixiang.modules.user.vo.YxUserQueryVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @ClassName PinkInfoVo
 * @Author hupeng <610796224@qq.com>
 * @Date 2019/11/20
 **/
@Data
public class PinkInfoVo implements Serializable {

    @ApiModelProperty(value = "还差几人成团")
    private Integer count;

    @ApiModelProperty(value = "当前拼团数据返回订单编号")
    private String currentPinkOrder;

    @ApiModelProperty(value = "是否完成 0未完成 1完成")
    private Integer isOk = 0;

    @ApiModelProperty(value = "拼团信息列表")
    private List<YxStorePinkQueryVo> pinkAll;

    @ApiModelProperty(value = "拼团状态 0未成功，进行中 1已成功 -1拼团失败")
    private Integer pinkBool = 0;

    @ApiModelProperty(value = "拼团信息")
    private YxStorePinkQueryVo pinkT;

    @ApiModelProperty(value = "拼团内容信息")
    private YxStoreCombinationQueryVo storeCombination;

    @ApiModelProperty(value = "拼团内容")
    private String storeCombinationHost;

    @ApiModelProperty(value = "是否在团内 0不在 1在")
    private Integer userBool = 0;

    @ApiModelProperty(value = "拼团用户信息")
    private YxUserQueryVo userInfo;

    @ApiModelProperty(value = "库存唯一值")
    private String uniqueId;

    PinkInfoVo(Integer count, String currentPinkOrder, Integer isOk, List<YxStorePinkQueryVo> pinkAll, Integer pinkBool, YxStorePinkQueryVo pinkT, YxStoreCombinationQueryVo storeCombination, String storeCombinationHost, Integer userBool, YxUserQueryVo userInfo, String uniqueId) {
        this.count = count;
        this.currentPinkOrder = currentPinkOrder;
        this.isOk = isOk;
        this.pinkAll = pinkAll;
        this.pinkBool = pinkBool;
        this.pinkT = pinkT;
        this.storeCombination = storeCombination;
        this.storeCombinationHost = storeCombinationHost;
        this.userBool = userBool;
        this.userInfo = userInfo;
        this.uniqueId = uniqueId;
    }

    public static PinkInfoVoBuilder builder() {
        return new PinkInfoVoBuilder();
    }

    public static class PinkInfoVoBuilder {
        private Integer count;
        private String currentPinkOrder;
        private Integer isOk;
        private List<YxStorePinkQueryVo> pinkAll;
        private Integer pinkBool;
        private YxStorePinkQueryVo pinkT;
        private YxStoreCombinationQueryVo storeCombination;
        private String storeCombinationHost;
        private Integer userBool;
        private YxUserQueryVo userInfo;
        private String uniqueId;

        PinkInfoVoBuilder() {
        }

        public PinkInfoVoBuilder count(Integer count) {
            this.count = count;
            return this;
        }

        public PinkInfoVoBuilder currentPinkOrder(String currentPinkOrder) {
            this.currentPinkOrder = currentPinkOrder;
            return this;
        }

        public PinkInfoVoBuilder isOk(Integer isOk) {
            this.isOk = isOk;
            return this;
        }

        public PinkInfoVoBuilder pinkAll(List<YxStorePinkQueryVo> pinkAll) {
            this.pinkAll = pinkAll;
            return this;
        }

        public PinkInfoVoBuilder pinkBool(Integer pinkBool) {
            this.pinkBool = pinkBool;
            return this;
        }

        public PinkInfoVoBuilder pinkT(YxStorePinkQueryVo pinkT) {
            this.pinkT = pinkT;
            return this;
        }

        public PinkInfoVoBuilder storeCombination(YxStoreCombinationQueryVo storeCombination) {
            this.storeCombination = storeCombination;
            return this;
        }

        public PinkInfoVoBuilder storeCombinationHost(String storeCombinationHost) {
            this.storeCombinationHost = storeCombinationHost;
            return this;
        }

        public PinkInfoVoBuilder userBool(Integer userBool) {
            this.userBool = userBool;
            return this;
        }

        public PinkInfoVoBuilder userInfo(YxUserQueryVo userInfo) {
            this.userInfo = userInfo;
            return this;
        }

        public PinkInfoVoBuilder uniqueId(String uniqueId) {
            this.uniqueId = uniqueId;
            return this;
        }

        public PinkInfoVo build() {
            return new PinkInfoVo(count, currentPinkOrder, isOk, pinkAll, pinkBool, pinkT, storeCombination, storeCombinationHost, userBool, userInfo, uniqueId);
        }

        public String toString() {
            return "PinkInfoVo.PinkInfoVoBuilder(count=" + this.count + ", currentPinkOrder=" + this.currentPinkOrder + ", isOk=" + this.isOk + ", pinkAll=" + this.pinkAll + ", pinkBool=" + this.pinkBool + ", pinkT=" + this.pinkT + ", storeCombination=" + this.storeCombination + ", storeCombinationHost=" + this.storeCombinationHost + ", userBool=" + this.userBool + ", userInfo=" + this.userInfo + ", uniqueId=" + this.uniqueId + ")";
        }
    }
}
